What is @turf/circle?
@turf/circle is a module within the Turf.js library that allows you to create circular polygons. It is useful for geospatial analysis and manipulation, enabling you to generate circles with a specified radius around a given point.
What are @turf/circle's main functionalities?
Create a Circle
This feature allows you to create a circle polygon with a specified radius around a given center point. The `steps` option defines the number of points used to approximate the circle, and the `units` option specifies the unit of measurement for the radius.
const turf = require('@turf/turf');
const center = [0, 0];
const radius = 5;
const options = { steps: 64, units: 'kilometers' };
const circle = turf.circle(center, radius, options);
console.log(circle);
Customizing Circle Properties
This feature allows you to customize the properties of the circle, such as the number of steps for approximation, the units of measurement, and additional properties like a name.
const turf = require('@turf/turf');
const center = [0, 0];
const radius = 5;
const options = { steps: 32, units: 'miles', properties: { name: 'My Circle' } };
const circle = turf.circle(center, radius, options);
console.log(circle);
Other packages similar to @turf/circle
leaflet
Leaflet is a popular open-source JavaScript library for mobile-friendly interactive maps. It provides similar functionality for creating circles on maps, but it is more focused on rendering and interaction rather than geospatial analysis.
openlayers
OpenLayers is a high-performance, feature-packed library for all your mapping needs. It offers similar capabilities for creating and manipulating circles, but it is more comprehensive and includes a wide range of other geospatial functionalities.
geolib
Geolib is a small library to provide basic geospatial operations like distance calculation, conversion of units, and bounding boxes. It can create circles, but it is more lightweight and less feature-rich compared to @turf/circle.
@turf/circle
circle
Takes a Point and calculates the circle polygon given a radius in degrees, radians, miles, or kilometers; and steps for precision.
Parameters
center
(Feature<Point> | Array<number>) center pointradius
number radius of the circleoptions
Object Optional parameters (optional, default {}
)
options.steps
number number of steps (optional, default 64
)options.units
string miles, kilometers, degrees, or radians (optional, default 'kilometers'
)options.properties
Object properties (optional, default {}
)
Examples
var center = [-75.343, 39.984];
var radius = 5;
var options = {steps: 10, units: 'kilometers', properties: {foo: 'bar'}};
var circle = turf.circle(center, radius, options);
var addToMap = [turf.point(center), circle]
Returns Feature<Polygon> circle polygon
This module is part of the Turfjs project, an open source
module collection dedicated to geographic algorithms. It is maintained in the
Turfjs/turf repository, where you can create
PRs and issues.
Installation
Install this module individually:
$ npm install @turf/circle
Or install the Turf module that includes it as a function:
$ npm install @turf/turf